package com.ykht.proj.activity.handle;

import com.ykht.proj.activity.entity.VOrderCard;
import com.ykht.proj.common.core.util.R;

import java.util.List;


/**
 * 订单相关接口
 */
public interface OrderHandler {

	/**
	 * 校验基础数据
	 * @return
	 */
	Integer checkBase(Long id,  List<Long> shopIds);

	/**
	 * 看可否购买
	 * @return
	 */
	Integer checkCanBuy(Long cardId,Long orderId);
	/**
	 * 下单
	 * @return
	 * @param cardId
	 * @param ids
	 * @param shareId
	 */
	VOrderCard createOrder(Long cardId, List<Long> ids, Long shareId);
	/**
	 * 下单后续
	 * @return
	 */
	void orderNext(VOrderCard orderCard);

	/**
	 * 取消订单
	 * @param orderCardId
	 */
	void expireOrder(Long orderCardId);

	/**
	 * 支付
	 * @param orderId
	 * @return
	 */
	R pay(Long orderId);


//	void callback();
}
